home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1995 November / EnigmA AMIGA RUN 02 (1995)(G.R. Edizioni)(IT)[!][issue 1995-11][Skylink CD].iso / earcd / program / assembly / abakus.lha / Abakus / Demos / Lotto.a.asm < prev    next >
Assembly Source File  |  1995-07-25  |  2KB  |  90 lines

  1.  
  2.     Include "Abakus:I/StartCLI"
  3.     Include "Abakus:I/SLI"
  4.     Include "Abakus:I/Tools1.m"
  5.  
  6.     Input  stdin
  7.     Output  stdout
  8.  
  9.     Randomize_Timer      ;Startwert für RND setzen
  10.  
  11. *_________ sechs Lottozahlen zwischen 1 und 49 ermitteln ________________
  12.  
  13.     move.b  #1,zz
  14.     move.b  #6,d7
  15.     bra _FCFORROUT_i
  16. _FCFORLOOP_i
  17.     add.b  #1,zz
  18.     cmp.b  zz,d7
  19.     blt _FCEXITFOR_i
  20. _FCFORROUT_i    ; 6 mal durchlaufen
  21.  
  22.     RND  #1,#49,Zahl
  23.     Lea  Zahlen,a4
  24.     ; Abakus intern !!
  25.     ; nimmt als Vergleichsregister nun d6 statt d7
  26.  
  27. *____ nachsehen ob Zahl schonmal vorkam __________
  28.  
  29.     move.l  Zahl,d6
  30.     cmp.l  (a4)+,d6
  31.     beq Abermals
  32.     cmp.l  (a4)+,d6
  33.     beq Abermals
  34.     cmp.l  (a4)+,d6
  35.     beq Abermals
  36.     cmp.l  (a4)+,d6
  37.     beq Abermals
  38.     cmp.l  (a4),d6
  39.     beq Abermals    ; wenn ja Gehe zu Label Abermals
  40.  
  41.  
  42.     moveq.l #0,d0
  43.     move.b  zz,d0
  44.     sub.b  #1,d0
  45.     add.b  d0,d0
  46.     add.b  d0,d0
  47.  
  48.  
  49.     lea  Zahlen,a4
  50.     move.l  Zahl,0(a4,d0)
  51. Lotto
  52.     bra _FCFORLOOP_i
  53. _FCEXITFOR_i
  54.  
  55. *____ Dezimalzahlen in String umwandeln und in Stdout Window ausgeben ____
  56.  
  57.     lea  Zahlen,A3
  58.     move.l  #6,d6
  59.     sub.l #1,d6
  60. _FCAGAIN_a
  61.  
  62.     move.l  #0,String
  63.     move.l  #0,String2
  64.     Str.l  (a3)+,#String
  65.     WriteS  #String
  66.     WriteS  #LF,#1
  67.     dbra d6,_FCAGAIN_a
  68. _FC_EXAGAIN_a
  69.  
  70.     rts     ; Programm Ende
  71.  
  72.  
  73. Abermals
  74.     sub.b  #1,zz    ; Schleifenzähler um eins runter
  75.     bra Lotto
  76.  
  77.  
  78. *__________ Daten ______________________________
  79.  
  80. zz        dc.b 0
  81. LF        dc.b 10
  82.  
  83.     even  
  84. Zahl      ds.l 1
  85. Zahlen    ds.l 6
  86. String    ds.l 1
  87. String2   ds.l 1
  88.     Include "Abakus:I/Tools1.s"
  89.     End
  90.